﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

using ZhimeiSoft.CharmManager.DOL;

namespace ZhimeiSoft.CharmManager.Server.DAL.Interface
{
    /// <summary>
    /// 预约接口
    /// </summary>
    public interface IScheduleDAL
    {
        /// <summary>
        /// 插入预约记录
        /// </summary>
        /// <param name="scheduleInfo">信息类</param>
        void InsertScheduleCustom(DBEntitySchedule scheduleInfo, DBEntityScheduleCustom scheduleCustom);
        /// <summary>
        /// 删除一条预约记录
        /// </summary>
        /// <param name="scheduleInfo">信息类</param>
        void DeleteScheduleCustom(DBEntitySchedule scheduleInfo, DBEntityScheduleCustom scheduleCustom);
        /// <summary>
        /// 更新预约信息
        /// </summary>
        /// <param name="scheduleInfo">提醒信息</param>
        /// <param name="scheduleCustomOld">旧的预约信息</param>
        /// <param name="scheduleCustomNew">新的预约信息</param>
        void UpdateScheduleCustom(DBEntitySchedule scheduleInfo, DBEntityScheduleCustom scheduleCustomOld,
            DBEntityScheduleCustom scheduleCustomNew);
        /// <summary>
        /// 按照预约状态获取记录
        /// </summary>
        /// <param name="scheduleState">预约状态</param>
        /// <returns>返回数据</returns>
        DataSet QueryScheduleState(string scheduleState);/// <summary>
        /// 根据用户ID获取提醒信息
        /// </summary>
        /// <param name="customerID">用户ID</param>
        /// <param name="scheduleState">状态</param>
        /// <returns></returns>
        DataSet QueryScheduleCustomID(int customerID, string scheduleState);
        /// <summary>
        /// 根据用户ID以及当前时间查询提醒信息.
        /// </summary>
        /// <param name="customerID">用户ID</param>
        /// <param name="currTime">当前时间</param>
        /// <returns>返回提醒数据集</returns>
        DataSet QueryScheduleCustomDateTime(int customerID, DateTime currTime);
                /// <summary>
        /// 根据月份查询预约记录
        /// </summary>
        /// <param name="queryYear">查询年</param>
        /// <param name="queryMonth">查询月</param>
        /// <returns></returns>
        DataSet QueryScheduleMonth(int queryYear, int queryMonth);
        /// <summary>
        /// 根据日查询预约记录
        /// </summary>
        /// <param name="queryYear">年</param>
        /// <param name="queryMonth">月</param>
        /// <param name="queryDay">日</param>
        /// <returns></returns>
        DataSet QueryScheduleDay(int queryYear, int queryMonth, int queryDay);
    }
}
